[JavaScript] Momento SDKでAPIが少し変更されてました
Introduction
DevelopersIOで何度か紹介している、
高速キャッシュサービスMomento Serverless Cache(以下Momento)のネタです。
しばらくJavascriptのSDKをバージョンアップせず使用していたのですが、
先日アップデートしたらAPIが少し変わっていました。
Environment
今回試した環境は以下のとおりです。
- MacBook Pro (13-inch, M1, 2020)
- OS : MacOS 12.4
- Node : v18.2.0
About the Changes
以前のMomentoに対するアクセス方法は↓のような感じでした。
(v0.14のとき)
//main.mjs import {SimpleCacheClient} from '@gomomento/sdk'; // 認証トークンを設定 const AUTH_TOKEN = process.env.MOMENTO_AUTH_TOKEN; // momentoクライアント初期化 const momento = new SimpleCacheClient(AUTH_TOKEN, 60); const CACHE_NAME = 'myCache'; // キャッシュset const setResult = await momento.set(CACHE_NAME, 'key_ts', 'value_ts'); console.log(`setResult:${setResult.text()}`); // キャッシュget const getResult = await momento.get(CACHE_NAME, 'key_ts'); console.log(`getResult:${getResult.text()}`);
現在の最新版SDK(v0.18)では下記のようになってます。
//main-latest.mjs import {SimpleCacheClient,CacheSet,CacheGet} from '@gomomento/sdk'; // 認証トークンを設定 const AUTH_TOKEN = process.env.MOMENTO_AUTH_TOKEN; // momentoクライアント初期化 const momento = new SimpleCacheClient(AUTH_TOKEN, 60); const CACHE_NAME = 'myCache_latest'; // キャッシュset const setResult = await momento.set(CACHE_NAME, 'key_ts', 'value_ts'); if (setResult instanceof CacheSet.Success) { console.log('Set Cache Data successfully with value ' + setResult.valueString()); } else if (setResult instanceof CacheSet.Error) { console.log('Error Set key: ' + setResult.message()); } // キャッシュget const getResult = await momento.get(CACHE_NAME, 'key_ts'); if (getResult instanceof CacheGet.Hit) { console.log(`getResult:${getResult.valueString()}`); } else if (getResult instanceof CacheGet.Miss) { console.log('Cache miss'); } else if (getResult instanceof CacheGet.Error) { console.log(`Error: ${getResult.message()}`); }
set/get関数がそれぞれに対応したレスポンス型を返すようになりました。
(CacheSet・CacheGetがそれぞれSuccess/Error型を返す)
そして、そのレスポンス型から実際の値を取り出す関数も変わってます。
(valueString/valueUint8Array)
Summary
SDKを更新した場合、そのままのコードだとエラーになってしまうので
適切に修正しましょう。
この記事でキャッシュに使用したMomentoについてのお問い合わせはこちらです。
お気軽にお問い合わせください。
Momentoセミナーのお知らせ
2023年2月21日(火) 16:00からMomentoのセミナーを開催します。
興味があるかたはぜひご参加ください。